MW使用技巧:让你的关卡摆脱MW之限制!
id: 633439151 | 楼主:_AgOH | 返回首页
id: 6577516830
1L | 作者:_AgOH | 发布于 2009-08-24 18:16

曾经发过一篇帖子详细地介绍了MFL文件以及MFS文件的结构,可惜很遗憾的是除了mfs反编译那一部分外,其它部分貌似受到的关注度很少,今天让我们继续挖掘它的内部信息,挖掘蕴涵在MFL文件里面的巨大宝藏!呵呵~
OK,废话少说,下面开始~
【Prologue】
众所周知MW对所制作的MW关卡具有很大的限制,比如关卡长度与高度的限制,库巴能量的限制等。然而一旦mfl文件的结构被发现,这些限制却是可以被突破的!!也许你会觉得不可思议?哈哈,这还要感谢MW对关卡的高限制性与低检测性(怎么听起来怪怪滴?),尽管你在设置这些数据时当超过MW所规定的上下限时无法被通过,但是这个检测只发生与Setting Levels,却不发生在Loading Levels!因此只要我们改变一下Setting Level的环境-------从MW改为Notepad(记事本)或EditPlus,我们就完全可以摆脱这些限制了,只要这些数据之间合乎逻辑,就完全可以被MW所接受!也许您要着急了,说了这么多,怎么还没有转入正题呢?呵呵,让我们现在就开始吧!不过在开始之前,建议您先仔细阅读一下那篇介绍MFL与MFS文件结构的帖子,这将有助于你更好的理解下面的内容。
原贴地址:
http://tieba.baidu.com/f?kz=630365351
2楼发的是Contents,请各位切勿插楼~



id: 6577600050
2L | 作者:_AgOH | 发布于 2009-08-24 18:30

【Contents】
Prolouge
Contents
Chapter1:摆脱对关卡长度和高度的限制
1-1:基本原理与方法
   1-2:后续工作
Chapter2:时间 & 重力 & 库巴能量
2-1:基本原理与方法
2-2:注意事项
Chapter3:关于大关卡(MFS文件)的一些技巧
3-1:务必遵守的基本原则
3-2:数量与顺序的突破
3-3:多个mfs文件的连接
Epilogue

------------------------------
P.S.:具体内容以后再写,呵呵~



id: 6579032580
3L | 作者:_AgOH | 发布于 2009-08-24 21:45

Chapter1:摆脱对关卡长度和高度的限制
1-1:基本原理与方法
说明:以下所有的操作都是通过编辑mflx文件来完成的,如果你不知道什么是mflx文件的话...请阅读原帖6L。
呵呵,下面正式开始吧。这个操作具有重大的意义,至少包括:
1)脱离MW对关卡长度[20,300],高度[15,300]的限制
2)让已经生成的关卡可以重新设置高度而不会导致关卡内容的丢失!
首先,在原贴中我们说到,文件的前两行分别对应着关卡的长度和高度。那么是不是只要改变这两项的数值就大功告成了呢?我们可以先来试一下。让我们试着把关卡的长度和高度调整为(400,15)。那么,根据计算,这个文件前两项的数值就应该是400*32+10=12810和15*32+10=490。OK,我们把这两项的数值分别改为12810和490,接着试着再用MW打开这个文件。貌似一切进行着都很顺利?是啊,关卡的内容不变,更令人兴奋的是在关卡的最右边出现了很多新的空格!说明我的工作成功了!MW接受了我们的修改,关卡的400长度确实被MW所认可了!



id: 6579141216
4L | 作者:_AgOH | 发布于 2009-08-24 21:59

1-2:后续工作
呵呵,在完成了上面的工作之后,大家一定很兴奋吧?马上迫不及待地往右边加几个Blocks和实心块吧。然后,保存文件。就在你觉得一切进展貌似都很顺利时,其实你已经犯了一个很严重的错误!不信的话,重新加载这个MFL文件,眼前的景象可能很让你惊讶:Blocks依旧,可是实心块却已不见踪影!难道X坐标为300以后的方格只能放Blocks么???呵呵,当然不是,让我们具体地来分析一下文件的存储过程吧。首先,Blocks部分被保存到BlocksData之中,而实心块的内容被保存到OtherData之中。OtherData保存数据是以第4~7个字节来保存X坐标的,并且这个坐标做了以下处理:乘上32。由此可知,假设我们所放实心块的位置为350时,此时X坐标的数据应该被存储为350*32=11200,超出了4个字节的范围!因此这个数据将不能被正常存储,自然也就现实不出来了。那么,据此计算....其实关卡长度的有效最大值只能到10000/32=312,高度也只能达到312。唉,搞了这么久,原来就为了那12个单位啊?呵呵,别忘了,利用这个方法还有另外一个功能,就是改变已经生成关卡的长度和高度!只要保证它不大于312就可以了。



id: 6588051637
5L | 作者:_AgOH | 发布于 2009-08-26 09:52

先休息几天,有人顶我就继续写~


id: 6588959020
6L | 作者:Anti_Tencent | 发布于 2009-08-26 12:13

我最近正在写一个关卡编辑器,部分参考了你的资料,多谢!


id: 6590332740
7L | 作者:_AgOH | 发布于 2009-08-26 15:34

不会吧...我最近本还正准备做个Mario Worker山寨版的,正准备发表帖子,居然...


id: 7658644743
8L | 作者:newlife2017 | 发布于 2010-03-13 11:00

回复:7楼
不可能!



id: 7661235814
9L | 作者:画王1毁灭者 | 发布于 2010-03-13 16:59

回复:8楼
挖坟自重!



id: 7930912276
10L | 作者:newlife2017 | 发布于 2010-04-17 16:34

agoh,你的mw山寨版做好了没?
我真的看见了,对不起



id: 7931349910
11L | 作者:OpenGL106 | 发布于 2010-04-17 17:19

坟贴请勿围观